package com.neusoft.hifly.rpc.mobile.domain;

import java.io.Serializable;
import java.util.Map;

/**
 * Title: 消息推送中间件
 * <p>
 * Description: 极光推送所用实体
 * <p>
 * Copyright: 2019
 * <p>
 * Company: 东软汉枫
 *
 * @author lh_neu
 * @version 1.0.0
 */
public class JPushModelObj implements Serializable {

	private static final long serialVersionUID = 7694448517403342721L;

	public static final String PLATFORM_ANDROID = "android";

	public static final String PLATFORM_IOS = "iOS";

	public static final String PLATFORM_ANDROID_AND_IOS = "android,iOS";

	public static final String PUSHWAY_ALIAS = "alias";

	public static final String PUSHWAY_TAGS = "tags";

	public static final String PUSHTYPE_RELEASE = "release";

	public static final String PUSHTYPE_DEBUG = "debug";

	// 极光推送MasterSecret
	private String masterSecret;
	// 极光推送AppKey
	private String appKey;
	// 推送标题
	private String title;
	// 推送正文
	private String message;
	// 发送者逻辑ID
	private long sendLogicId;
	// 推送平台(android或者iOS或者android,iOS)
	private String platform;
	// 推送方式(alias或者tags，为空即为全部人员)
	private String pushWay;
	// 别名或者标签的字符串
	private String stringOfPushWay;
	// 扩展参数
	private Map<String, String> pushExtras;
	// 推送方式，是生产环境还是正式环境(release或者debug)
	private String pushType;

	/**
	 * 构造方法
	 *
	 * @param masterSecret
	 *            极光推送MasterSecret
	 * @param appKey
	 *            极光推送AppKey
	 */
	public JPushModelObj(final String masterSecret, final String appKey) {
		this.masterSecret = masterSecret;
		this.appKey = appKey;
	}

	public String getMasterSecret() {
		return masterSecret;
	}

	public void setMasterSecret(final String masterSecret) {
		this.masterSecret = masterSecret;
	}

	public String getAppKey() {
		return appKey;
	}

	public void setAppKey(final String appKey) {
		this.appKey = appKey;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(final String title) {
		this.title = title;
	}

	public String getMessage() {
		return message;
	}

	public void setMessage(final String message) {
		this.message = message;
	}

	public long getSendLogicId() {
		return sendLogicId;
	}

	public void setSendLogicId(final long sendLogicId) {
		this.sendLogicId = sendLogicId;
	}

	public String getPlatform() {
		return platform;
	}

	public void setPlatform(final String platform) {
		this.platform = platform;
	}

	public String getPushWay() {
		return pushWay;
	}

	public void setPushWay(final String pushWay) {
		this.pushWay = pushWay;
	}

	public String getStringOfPushWay() {
		return stringOfPushWay;
	}

	public void setStringOfPushWay(final String stringOfPushWay) {
		this.stringOfPushWay = stringOfPushWay;
	}

	public Map<String, String> getPushExtras() {
		return pushExtras;
	}

	public void setPushExtras(final Map<String, String> pushExtras) {
		this.pushExtras = pushExtras;
	}

	public String getPushType() {
		return pushType;
	}

	public void setPushType(final String pushType) {
		this.pushType = pushType;
	}
}
